jsonptr - JSON Pointers for Rust
Data structures and logic for resolving, assigning, and deleting by JSON Pointers (RFC 6901).
Usage
JSON Pointers can be created either with a slice of strings or directly from a properly encoded string representing a JSON Pointer.
Resolve values
Pointer::resolve
use Pointer;
use json;
let mut data = json!;
let ptr = new;
let bar = ptr.resolve.unwrap;
assert_eq!;
Resolve::resolve
use ;
use json;
let mut data = json!;
let ptr = new;
let bar = data.resolve.unwrap;
assert_eq!;
ResolveMut::resolve_mut
use ;
use json;
let ptr = try_from.unwrap;
let mut data = json!;
let mut bar = data.resolve_mut.unwrap;
assert_eq!;
Assign
Pointer::assign
use Pointer;
use json;
let ptr = try_from.unwrap;
let mut data = json!;
let _previous = ptr.assign.unwrap;
assert_eq!
Assign::asign
use ;
use json;
let ptr = try_from.unwrap;
let mut data = json!;
let _previous = data.assign.unwrap;
assert_eq!
Delete
Pointer::delete
use Pointer;
use json;
let mut data = json!;
let ptr = new;
assert_eq!;
assert_eq!;
// unresolved pointers return None
let mut data = json!;
assert_eq!;
Delete::delete
use ;
use json;
let mut data = json!;
let ptr = new;
assert_eq!;
assert_eq!;
// replacing a root pointer replaces data with `Value::Null`
let ptr = default;
let deleted = json!;
assert_eq!;
assert!;
Feature Flags
Flag | Enables |
---|---|
"std" |
implements std::error::Error for errors |
"url" |
TryFrom<url::Url> for Pointer |
"uniresid" |
TryFrom<uniresid::Uri> + TryFrom<uniresid::AbsoluteUri> for Pointer |
"fluent-uri" |
TryFrom<fluent_uri::Uri<&str>> + TryFrom<fluent_uri::Uri<String>> + TryFrom<fluent_uri::Uri<&mut [u8]>> for Pointer |
Contributions / Issues
Contributions and feedback are always welcome and appreciated.
If you find an issue, please open a ticket or a pull request.
License
MIT or Apache 2.0.